[PCI] Allow per-device configuration for fine-grained control over PCI
authorkfraser@localhost.localdomain <kfraser@localhost.localdomain>
Fri, 28 Jul 2006 11:54:58 +0000 (12:54 +0100)
committerkfraser@localhost.localdomain <kfraser@localhost.localdomain>
Fri, 28 Jul 2006 11:54:58 +0000 (12:54 +0100)
commit5b0a11ef1475af69b7ca84f1535a99c1d4469b83
tree5dc908ae5117a9f5b7df11f5b1900c21a03a7c0f
parenta111f90b19c58f12bd708927c5bf32a1117239fb
[PCI] Allow per-device configuration for fine-grained control over PCI
configuration space writes, with a goal that was also previously
described by Ryan:

"Permissive mode should only be used as a fall back for unknown
devices.
I think the correct solution for dealing with these device-specific
configuration space registers is to identify them and add the
device-specific fields to the overlay. This patch adds a special
configuration space handler for network cards based on the tg3 linux
network device driver. This handler should allow for reads/writes to
all of the configuration space registers that the tg3 driver requires."

This patch attempts to address concerns with Ryan's original
submission by moving policy from the dom0 kernel into dom0 user-space.
As new quirky devices emerge they can be incorporated into the user-space
policy.  An added benefit is that changes to the policy are effective
for domains created after the changes are written (no need rebuild the
hypervisor or restart xend).

Signed-off-by: Chris Bookholt <hap10@tycho.ncsc.mil>
linux-2.6-xen-sparse/drivers/xen/pciback/Makefile
linux-2.6-xen-sparse/drivers/xen/pciback/conf_space.c
linux-2.6-xen-sparse/drivers/xen/pciback/conf_space.h
linux-2.6-xen-sparse/drivers/xen/pciback/conf_space_quirks.c [new file with mode: 0644]
linux-2.6-xen-sparse/drivers/xen/pciback/conf_space_quirks.h [new file with mode: 0644]
linux-2.6-xen-sparse/drivers/xen/pciback/pci_stub.c
linux-2.6-xen-sparse/drivers/xen/pciback/pciback.h